from random import choice  # 导入随机模块中的 choice 函数
import pygame.image  # 导入 pygame 的 image 模块

class Settings:
    def __init__(self):
        ''' 初始化设置 '''
        # 屏幕设置
        self.screen_width = 1358  # 游戏屏幕宽度
        self.screen_height = 783  # 游戏屏幕高度
        self.image = pygame.image.load("./image/img.png")  # 加载背景图像
        self.rul=pygame.image.load("./image/img_1.png")
        self.bg_color = (0, 0, 0)  # 背景颜色（黑色）
        self.FPS = 60  # 游戏刷新率（帧率）

        # 挡板设置
        self.paddle_color = (255, 255, 255)  # 挡板颜色（白色）
        self.paddle_width = 20  # 挡板宽度
        self.paddle_height = self.screen_height // 4  # 挡板高度（屏幕高度的四分之一）

        # 中线设置
        self.middle_line_color = (255, 255, 255)  # 中线颜色（白色）
        self.middle_line_width = 5  # 中线宽度

        # 球的设置
        self.ball_color = (255, 255, 255)  # 球的颜色（白色）
        self.ball_radius = 15  # 球的半径
        self.ball_pos_x = self.screen_width // 2  # 球的初始 x 坐标在屏幕中心
        self.ball_pos_y = self.screen_height // 2  # 球的初始 y 坐标在屏幕中心

        # 移动球左右
        # 1 为右，-1 为左
        self.directions = [1, -1]  # 控制球的移动方向

        # 玩家得分
        self.player_left_score = 0  # 左侧玩家得分
        self.player_right_score = 0  # 右侧玩家得分

        # 默认速度设置球和挡板
        self.reset_settings()  # 调用重置设置方法初始化默认速度

    def reset_settings(self):
        ''' 默认速度设置 '''
        self.paddle_speed = 12.0  # 挡板移动速度
        self.ball_speed_x = 9.0  # 球在 x 方向的速度
        self.ball_speed_y = 11.0  # 球在 y 方向的速度

    def speedup_ball(self):
        ''' 每次与挡板碰撞时加速球的速度 '''
        if not self.ball_speed_x >= 18.0:  # 如果球的速度还未达到最大值
            self.ball_speed_x *= 1.1  # 增加球的 x 方向速度
            self.ball_speed_y *= 1.1  # 增加球的 y 方向速度
